Service provider networks, such as, for example, cable networks, fiber networks, fiber to the home networks, provide a wide range of services to subscribers for a fee. The services provided over a service provider network may include voice, data and video and may be offered in “levels” that are differentiated by speed, bandwidth, price, and quality-of-service (QoS) to name a few. A service level may include a maximum usage threshold. Policies, such as bandwidth throttling and QoS reduction, may also be implemented based on usage. Alternatively, services may also be offered on a consumption based billing (CBB) model in which subscribers pay for the service they use.
Service offerings, policies and billing models that are based on consumption necessarily require a service provider to measure consumption. It is in the interest of subscribers of such service offerings that the consumption that is being measured is accurate and does not include traffic that is originated by the service provider or the network itself or that is not usable by the subscriber. By way of illustration and not by way of limitation, polling messages sent to devices and IP renew message exchanges between customer devices and network devices are examples of traffic that a subscriber may want excluded from his or her measured consumption. Additionally, a subscriber would not want to be accountable for consumption that is caused by plant problems that does not result in subscriber usable traffic.
Several sources are available to measure consumption, but each has its limitations for accuracy. For instance, when using standard service flows without any classifiers, all traffic to and from a cable modem and its customer devices is counted regardless of whether it is generated by the subscriber or not. This can be alleviated with the use of IP based classifiers, but they are not static and may change rendering the classification ineffective. Traffic received by and sent from a cable modem may also be counted directly from the cable modem's counters. However, the cable modem counters do not differentiate traffic between source and destination addresses and can only provide aggregate traffic counts across an interface. Furthermore, the cable modem is not considered a trusted device or may be unreachable at times, hence compromising the accuracy of the data. The cable modem termination server (CMTS) is another source for measuring traffic. One approach to obtaining packet counts from the CMTS is to poll specific simple network management protocol (SNMP) management information bases (MIBs). Polling the CMTS, however, is not desired because it is CPU intensive and is not designed to scale polling large tables. The CMTS also requires constant polling to track any dynamic service flows which can affect the accuracy of the counts. IPDR (Internet Protocol Detail Records) records from the CMTS provides a means to access the same MIBs without polling, but the problem of being able to separate and count customer and management traffic reliably and accurately still remains.
To satisfy both the service provider and its subscribers, the means by which consumption is measured must be capable of distinguishing “countable” traffic from “non-countable” traffic.
A service provider may want to measure consumption for reasons unrelated to billing and to distinguish one traffic type from another. Consumption data may be used to reconfigure a network or to target services to subscribers sharing particular interests. The service level available to a subscriber is typically managed during the provisioning of devices used by subscribers to access the service provider network. A typical provisioning process for a cable modem is illustrated in FIG. 1. However, the process is not limited to cable modems and is used by other network devices that are configured on boot-up.
When a subscriber powers up the cable modem, it scans the downstream looking for 64- or 256-QAM (quadrature amplitude modulation) digitally modulated signals (line 100). Once a digital signal is found, the modem looks for information on that signal that is sent by the cable modem termination system (CMTS) (line 200). The cable modem acquires an upstream channel descriptor (UCD), which contains information that the cable modem will need, such as the upstream frequency, modulation type and channel bandwidth to use in order to communicate with the CMTS.
The cable modem then sends a range request (line 102). When the CMTS detects the range request, it analyzes the power, frequency and timing of the range request and sends the cable modem a range response (line 104), which includes instructions for the modem to adjust its transmit power, frequency and timing as necessary.
When the cable modem has ranged with the CMTS, it has established a communications link. The cable modem then needs to obtain additional information about the network, get an IP address and get the name of a configuration file. The cable modem sends a Dynamic Host Configuration Protocol (DHCP) discover message to a DHCP server connected to the IP network attached to the network (line 106). If the cable modem has been provisioned on the server, the DHCP server will send the modem an IP address, the IP address of a configuration file server (sometimes referred to herein as a “Trivial File Transfer Protocol” or “TFTP” server) and a configuration filename (line 108).
The cable modem downloads the configuration file whose name it was given during the DHCP process. It does this by sending a TFTP read request (line 110) to the IP address of the TFTP server, also obtained during the DHCP process. If the filename exists on the TFTP server, the file is downloaded to the cable modem (line 112). This file will provide the cable modem with settings such as the maximum subscriber data download and upload speeds, and quality of service (QoS) settings. The cable modem then sends a registration request to the CMTS along with a list of the modem's configuration settings (line 114). If the CMTS approves of the modem's settings, it will respond with a registration response indicating a successful registration (line 116). If the CMTS does not like the cable modem's settings, the CMTS has the ability to reject the cable modem with a registration rejection, and the cable modem will not be able to come online and transmit data.
Configuration files (also referred to as “boot files”) may be dynamically generated based on information provided in a configuration request message. In dynamic configuration (sometime referred to herein as “Dynamic TFTP” or “DTFTP”), the DHCP server provides a template identifier and device attributes in the response message sent to the cable modem. The cable modem provides the template identifier and device attributes to a DTFTP server, which generates a boot file for the cable modem. (See commonly owned U.S. Pat. No. 7,293,282, which patent is incorporated herein by reference for a more detailed description of the dynamic generation of boot files.)
Service flows (SFs) are the fundamental units in DOCSIS 1.1 or higher protocols used to carry upstream (US) and downstream (DS) traffic to and from the CM. A service flow is a unidirectional flow of packets for which a particular Quality of Service (QoS) policy is applied. The CMTS, in the downstream, or the CM, in the upstream, enforces this policy through a combination of traffic shaping, policing, and prioritization. Typically, every device on the CMTS requires at least two service flows, one for upstream and one for downstream. However, multiple service flows can be specified to differentiate traffic types. The number of required flows increases as new traffic differentiated services or applications are required.
When devices come online, a set of default service flows are established to carry any unclassified traffic, including registration data, MAC management messages or data PDUs. Once the device registers and its normal service flows become active, traffic is further differentiated through the use of “classifiers” that are tied to each service flow. If traffic does not match any classifiers, it is forwarded on the primary service flow.
Classifiers are the constructs used to tie a particular traffic type to a specific service flow. Classifiers can be applied to either direction, but “downstream” classifiers are applied and processed at the CMTS while “upstream” classifiers are applied and processed at the CM. Classifiers are a set of “matching” criteria applied to each packet entering the cable network. If a packet matches a criteria defined for a service flow, the packet is then delivered to that specific service flow. Classifiers can be set up to match on a variety of parameters such as priority, IP, and LLC parameters. The classifiers are processed based on priority first followed by exact matches of other parameters.
Classifiers may be established based on device-specific values. However, these values must be conveyed to the DTFTP server before the configuration file for the device is generated. Currently, the dynamic creation of configuration files is limited by the information that may be provided to the DTFTP server via the template identifier. Conveying additional information in file names or other strings about the device to be configured increases overhead on the network and on systems that support the provisioning process.